1. Field of the Invention
The present invention relates to computer systems and, more particularly, to power management for computer systems.
2. Description of the Related Art
Computer systems include electrical components that consume power when is active. These electrical components include processors, controllers, buses, and various subsystems. Limited power management has been performed to reduce the power consumption of these electrical components. Often, with portable computers where power consumption is a major concern, the portable computers can enter a sleep mode in which the processor is slowed or stopped and in which the controllers, buses and various subsystems are also shutdown. The sleep mode thus provides a state which the portable computer is able to enter to conserve power when processing resources are not needed. In the sleep mode, processors, controllers and subsystems are able to be shutdown. Typically little power management is offered with desktop computers.
Although there are various disadvantages of conventional power management, one disadvantage is that the power management is primarily processor power management and not system level. As a result, the overall power management is not very efficient in reducing power consumption. Typically, many electrical components that consume significant amounts of power are either not power managed or crudely power managed to have only an on state (i.e., active) and an off state (i.e., shutdown). Also, in the case of desktop computers, conventional power management has been even less efficient.
Still further, conventional power management for multi-processor computer systems has not been efficient. Hence, large amounts of power are consumed by these multi-processor computer systems even when there is no activity.
Thus, there is a need for improved power management in computer systems.
Broadly speaking, the invention relates to power management for computer systems having one or more processors. One aspect of the invention pertains to providing hierarchical power management. The hierarchical nature of the power management provided by the invention has various levels of power management such that power consumption of the computer system is dependent upon the amount of work placed on the processing resources of the computer system. Another aspect lie of the invention pertains to deterministic handshaking provided between a power manager and one or more controller units. The deterministic handshaking provides for more reliable and controllable transitions between power management states which have associated power management taking place in the controller units. The invention is suitable for use with a single-processor computer system or a multi processor computer system.
The invention can be implemented in numerous ways, including as a computer system, an apparatus, a method, and a computer readable medium. Several embodiments of the invention are discussed below.
As a power management method for a multi-processor computer system having a plurality of processors, one embodiment of the invention includes: monitoring workload on the multi-processor computer system; and, placing the multi-processor computer system in one of a plurality of predetermined power management states based on the workload.
As a method for managing power consumption of a multi-processor computer system having a plurality of processors, one embodiment of the invention includes: determining a processing workload for the multi-processor computer system; awakening one or more of the processors from an inactive mode to an active mode when the processing workload is heavy; and transitioning one or more of the processors from the active mode to the inactive mode when the processing workload is light. The power consumption of the multi-processor computer system is managed such that those of the processors that are not needed to process the processing workload are transitioned into the inactive mode to conserve power, yet one or more of the processors can awaken from the inactive mode to the active mode to provide additional processing capabilities as needed to handle the processing workload.
As a method for providing deterministic state changes within a computer system having a plurality of processors, a bus controller and a power manager, one embodiment of the invention includes: determining when a lower power state of the multi-processor computer system should be entered to reduce power consumption, and entering the lower power state. The lower power state is entered by performing the following operations: receiving at the bus controller a state change request from the power manager; initiating a state change sequence at the bus controller upon receiving the state change request; and notifying the power manager when the bus controller has completed the state change sequence.
As a computer system, one embodiment of the invention includes: at least one processor, the processor executes operations in accordance with a processor clock; a bus controller operatively connected to the processor, the bus controller controls bus activity on a bus; and a power manager operatively connected to the processor and the bus controller, the power manager controls the processor clock and shutdown of the bus controller, and the power manager provides a first handshaking between the power manager and the bus controller to provide deterministic mode changes for the computer system so as to manage power consumption.
The advantages of the invention are numerous. Different embodiments or implementations may have one or more of the following advantages. One advantage of the invention is that it offers improved power management that is obtained by a layered approach. Another advantage of the invention is that the system power management provided by the invention includes power management (i.e., shutdown) for not only processors but also related control circuitry (e.g., bus controllers, I/O controllers, memory controllers, interrupt controllers). Still another advantage of the invention is that deterministic control over power management of control circuitry provides proper sequencing of shutdown operations. Yet another advantage of the invention is that more aggressive power management of a computer system is provided, whether for a single processor or a multi-processor system.